Skip to content

8. Cloudflare pages如何绑定域名以及手动触发构建

Cloudflare pages如何绑定域名

将静态博客丢到cloudflare上是不错的选择,优势如下:

  • 比Github Pages更加稳定可靠
  • 免费
  • 可通过授权github仓库的方式傻瓜部署
  • 不用考虑国内备案等等问题
  • 缺点:国内环境访问慢一些

额外的,如果想绑定自己的域名,可以使用Cloudflare的DNS解析:

1). Cloudflare pages页面,设置域名提示如下:

截屏2023-09-20 18.33.57.png|400

比如我的域名是从腾讯云上注册,我需要更改域名的DNS服务器设置

2). 腾讯云如何更改DNS服务器设置(参考: 腾讯云帮助文档)

  1. 登录腾讯云控制台
  2. 域名 -> "更多" -> "修改DNS服务器"
  3. 修改成Cloudflare提供的服务器地址

5175DE75-66AC-41A1-AB6B-82FA3CF39A1E.png

设置完后,腾讯云的DNS解析就失效了,此时需要我们从CF上设置DNS解析

4). 设置博客的解析:增加一条cname记录,并解析到Cloudflare pages的域名地址

截屏2023-09-21 13.57.38.png

通过脚本手动触发构建

根据API文档: Cloudflare API Documentation 我们可以通过API调用的方式进行重新手动构建。脚本如下建议放到 /usr/local/bin目录下,这样脚本不用带后缀并且可以直接执行文件命令。

bash
#!/bin/bash
  
EMAIL=""  
PROJECT_NAME=""  
ACCOUNT_ID=""  
AUTH_KEY=""  
  
curl --location --request POST "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/pages/projects/$PROJECT_NAME/deployments" \  
--header "X-Auth-Email: $EMAIL" \  
--header "X-Auth-Key: $AUTH_KEY" \  
--form 'branch=""'
#!/bin/bash
  
EMAIL=""  
PROJECT_NAME=""  
ACCOUNT_ID=""  
AUTH_KEY=""  
  
curl --location --request POST "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/pages/projects/$PROJECT_NAME/deployments" \  
--header "X-Auth-Email: $EMAIL" \  
--header "X-Auth-Key: $AUTH_KEY" \  
--form 'branch=""'

关于参数的来源:

  1. email 登录账号的邮箱,无需加密

  2. PROJECT_NAME, pages的项目名称03D6FABD-B455-499E-A700-6C566975384B.png|300

  3. ACCOUNT_ID : 6F205258-6B56-458F-B1E9-37188D266539.png|400

  4. AUTH_KEY: 先进入Manage API tokens ,再创建Global API KEY 66CFCD83-387E-4D3C-AD37-E197EE7634AA.png